using System;
using Microsoft.Xna.Framework.Input;

namespace SolarWinds.Input
{
    public class KeyBinding
    {
        public event EventHandler KeyClicked;
        public event EventHandler KeyPressed;
        public event EventHandler KeyReleased;
        
        private Keys mKey = Keys.None;
        
        public Keys Key 
        {
            set { mKey = value; }
            get { return mKey; }
        }

        public KeyBinding()
        {
        }

        public KeyBinding(Keys key, EventHandler keyClicked)
        {
            mKey = key;
            KeyClicked = keyClicked;
        }

        public KeyBinding(Keys key, 
                          EventHandler keyPressed, 
                          EventHandler keyReleased)
        {
            mKey = key;
            KeyPressed = keyPressed;
            KeyReleased = keyReleased;
        }

        public KeyBinding(Keys key, 
                          EventHandler keyClicked, 
                          EventHandler keyPressed, 
                          EventHandler keyReleased)
        {
            mKey = key;
            KeyClicked = keyClicked;
            KeyPressed = keyPressed;
            KeyReleased = keyReleased;
        }
    }
}